Face detection processes associated with digital images are computationally intensive. Digital cameras may attempt to detect faces in a live-view mode while faces are in motion. If the face detection process is slow, it may return a face after the face has already moved to a different location. This will render the results of the face detection process invalid. Speeding up the face detection process makes cameras more user friendly in greater numbers of situations involving motion. These situations include a camera operator with a shaky hand, faces in the image that are in motion, and so on.
During a face detection process, faces may be searched for using a sampling strategy. One example strategy may include examining every individual patch of a particular size in an image by traversing the digital image from left to right and top to bottom. The patch size may then be increased or decreased (re-scaled) and the entire image may again be traversed. This traversing and re-scaling process may be repeating many times until all possible patches have been examined. This results in a large number of regions being evaluated multiple times at different patch sizes even when a face has already been detected in a related patch. Additionally, when the traversal increments are small, large numbers of regions are evaluated multiple times at the same patch size due to overlap.